package 力扣日常刷题.木22二月.第11天217;

/**
 * @author 帅小伙
 * @date 2022/2/17
 * @description
 * 只有一个数字出现一次  其他数字出现3次
 */
public class Demo79JZ数组中数字出现的次数2 {

    public static void main(String[] args) {
        singleNumber(new int[]{3,4,3,3});
    }

    public static int singleNumber(int[] nums) {
        int[] arr = new int[32];
        for (int num : nums) {
            for (int i = 0; i < 32; i++) {
                arr[i] += num & 1;
                num >>>= 1;
            }
        }
        int ans = 0, m = 3;
        for (int i = 0; i < 32; i++) {
            ans <<= 1;
            ans |= arr[31-i] % m;
        }
        return ans;
    }

}
